$(function(){
    layui.use('form', function () {

        $.ajax({
            url: 'http://localhost:8080/subject/selectLevelNameByDistinct',
            type: 'get',
            success: function (vo) {
                if (vo.code == 200) {
                    $.each(vo.data, function (i, s) {
                        $("#levelName").append("<option value='" + s.levelName + "'>" + s.levelName + "</option>");
                    });
                }
                layui.form.render();
            }
        });

    });
});

layui.use(['table', 'jquery','element','form','layer'], function () {
    //使用layui的table模块来操作表格
    let table = layui.table;
    //使用layui的jquery模块
    let $ = layui.$;
    let form=layui.form;
    let layer=layui.layer;
    //导航的hover效果、二级菜单等功能，需要依赖element模块
    var element = layui.element; 


    //当页面加载就需要渲染表格数据
    table.render({
        elem: '#demo',   //引用表格的ID
        id: 'paperQuestionTable', //这个id是render的id，可以用于表格reload时引用
        url: 'http://localhost:8080/paperQuestion/selectByPage',  // 请求地址
        method: 'get',
        toolbar: '#searchToolBar',   //设置toolbar
        page: true,  //启用表格分页功能
        // width:1500,
        cols: [[     //表头
            { field: 'paperQuestionId', title: 'Id', sort: true},
            { field: 'levelName', title: '年级' },
            { field: 'subjectName', title: '学科' },
            { field: 'questionType', title: '题型' },
            { field: 'questionContentInfo', title: '题干' ,
                templet:function(res){
                    return "<span>"+res.questionContentInfo.title+"</span>"
                }
            },
            { field: 'score', title: '分数' },
            { field: 'difficult', title: '难度', sort: true },
            { field: 'createTime', title: '创建时间', sort: true },
            {fixed: 'right', title:'操作', toolbar: '#handleDemo', width:200}
        ]],
        done: function (res, curr, count) {
            // 根据字段questionType的值 判断题型
            $("[data-field='questionType']").children().each(function () {
                if ($(this).text() == '1') {
                    $(this).text('单选题');
                    
                } else if ($(this).text() == '2') {
                    $(this).text('多选题');
                    
                }else if($(this).text()=='3'){
                    $(this).text('判断题');
                }
            })

        }
    });

    //绑定表格的toolbar事件（监听头部工具栏）
    table.on('toolbar(paperQuestionList)', function (obj) {
        //获取按钮对象lay-event属性值
        let event = obj.event;

        switch (event) {
            //在不同的case中做不同的按钮事件处理
            case 'search':
                //重载表格加载新的数据, 引用render的id
                table.reload('paperQuestionTable', {
                    method: 'get',
                    where: {
                        paperQuestionId: $('#paperQuestionId').val(),
                        questionType: $('#questionType').val(),
                        levelName: $('#levelName').val(),
                        subjectName: $('#subjectName').val()
                    },
                    page: {
                        curr: 1  //查询回来后默认显示在第一页
                    }
                });
                // 重新查询年级
                $.ajax({
                    url: 'http://localhost:8080/subject/selectLevelNameByDistinct',
                    type: 'get',
                    success: function (vo) {
                        if (vo.code == 200) {
                            $.each(vo.data, function (i, s) {
                                $("#levelName").append("<option value='" + s.levelName + "'>" + s.levelName + "</option>");
                            });
                        }
                        layui.form.render();
                    }
                });
        }

    });

    // 监听行工具事件
    table.on('tool(paperQuestionList)',function(obj){
        //获取按钮对象lay-event属性值
        let event = obj.event;
        
        switch (event) {
            //在不同的case中做不同的按钮事件处理
            case 'del':
                layer.confirm('真的删除此行数据么', function(index){
                    $.ajax({
                        url:'http://localhost:8080/paperQuestion/update',
                        type:'post',
                        data:{paperQuestionId:obj.data.paperQuestionId,status:2},
                        success:function(vo){
                            if(vo.code==200){
                                obj.del();
                                layer.close(index);
                            }else{
                                layer.close(index);
                                layer.msg("删除失败", { offset: 't', icon: 2 });
                            }
                        }
                    });
                });
            break;
            case 'edit':
                if(obj.data.questionType==1){
                    sessionStorage.setItem('singleUpdateId',obj.data.paperQuestionId);
                    xadmin.open('编辑','single_update.html')
                }else if(obj.data.questionType==2){
                    sessionStorage.setItem('multipleUpdateId',obj.data.paperQuestionId);
                    xadmin.open('编辑','multiple_update.html')
                }else if(obj.data.questionType==3){
                    sessionStorage.setItem('judgeUpdateId',obj.data.paperQuestionId);
                    xadmin.open('编辑','judge_update.html')
                }

            break;
            case 'view':
                $(".title2").text(obj.data.questionContentInfo.title);
                $(".questionA2").text(obj.data.questionContentInfo.questionA);
                $(".questionB2").text(obj.data.questionContentInfo.questionB);
                $(".questionC2").text(obj.data.questionContentInfo.questionC);
                $(".questionD2").text(obj.data.questionContentInfo.questionD);
                $(".questionE2").text(obj.data.questionContentInfo.questionE);
                if(obj.data.questionType==1){
                    layer.open({
                        type: 1,
                        title: ['预览', 'font-size:16px'],
                        anim: 5,   // 动画
                        offset: '50px',  // 坐标
                        resize: false,  // 是否允许拉伸改变宽高
                        area: ['auto'], // 设置宽，高
                        shadeClose: true, //点击遮罩关闭
                        scrollbar: false,   // 屏蔽浏览器滚动（false: 则屏蔽）
                        content: $("#showOne")
                    });
                }else if(obj.data.questionType==2){
                    layer.open({
                        type: 1,
                        title: ['预览', 'font-size:16px'],
                        anim: 5,   // 动画
                        offset: '50px',  // 坐标
                        resize: false,  // 是否允许拉伸改变宽高
                        area: ['auto'], // 设置宽，高
                        shadeClose: true, //点击遮罩关闭
                        scrollbar: false,   // 屏蔽浏览器滚动（false: 则屏蔽）
                        content: $("#showTwo")
                    });
                }else if(obj.data.questionType==3){
                    layer.open({
                        type: 1,
                        title: ['预览', 'font-size:16px'],
                        anim: 5,   // 动画
                        offset: '50px',  // 坐标
                        resize: false,  // 是否允许拉伸改变宽高
                        area: ['auto'], // 设置宽，高
                        shadeClose: true, //点击遮罩关闭
                        scrollbar: false,   // 屏蔽浏览器滚动（false: 则屏蔽）
                        content: $("#showThree")
                    });
                }
            break;

        }



    });




    // 解决表格在排序之后没有重新渲染问题
    table.on('sort(paperQuestionList)', function (obj) {
        table.reload('paperQuestionTable', {
            initSort: obj
        });
    });
    table.reload('paperQuestionTable', {});


    // 年级名称下拉列表框监视
    form.on('select(levelName)', function (data) {
        //console.log(data.value); 得到被选中的值

        $("#subjectName option").each(function (i) {
            if (i != 0) {
                $(this).remove();
            }
        })
        form.render();
        if (data.value == "") {
            reture;
        }

        $.ajax({
            url: 'http://localhost:8080/subject/selectByMore',
            type: 'get',
            data: { levelName: data.value },
            success: function (vo) {
                if (vo.code == 200) {
                    $.each(vo.data, function (i, s) {
                        $("#subjectName").append("<option value='" + s.subjectName + "'>" + s.subjectName + "</option>");
                    });
                    form.render();
                }
            }
        });
    });


});